package com.my.study.structures.hashtab;

/**
 * @author Carlos
 * @version 1.0
 * @Description 哈希表
 *
 *  管理多条链表
 *
 * @date 2021/8/2 23:41
 **/
public class EmpHashTable {

    private EmpLinkedList[] empLinkedLists;

    private int size;

    public EmpHashTable(int size) {
        this.size = size;
        this.empLinkedLists = new EmpLinkedList[size];
        // 留个坑？ -> 解决！！初始化
        for (int i = 0; i < size; i++) {
            empLinkedLists[i] = new EmpLinkedList();
        }
    }

    /**
     * 添加雇员
     *
     * @param emp 雇员
     */
    public void add(Emp emp) {
        int empNo = hashFun(emp.getId());
        empLinkedLists[empNo].add(emp);
    }

    /**
     * 遍历哈希表
     */
    public void list() {
        for (int i = 0; i < size; i++) {
            empLinkedLists[i].list(i);

        }
    }


    private int hashFun(long id) {
        return (int)id % size;
    }


}
